package cx3k.GUI;

import cx3k.scheduler.objects.Profile;
import cx3k.scheduler.objects.Schedule;
import cx3k.scheduler.objects.ScheduledSemester;

public interface gui_scheduler {
	
	 public int newProfile(String name); //- return a brand new profile id
	 public int newSchedule(String name); //- empty schedule object
	 public void saveSchedule(String filepath);
	 public int[] loadSchedule();
	 public void swapclass(int scheduleID, ScheduledCourseGroup group1, ScheduledCourseGroup group2);
	 public Schedule generateSchedule();
	 public ScheduledSemester generateSemester();
	 public String[] getMajors(); //- strings
	 public String[] getMinors(); //- strings
	 public void save(String filepath); //Saves Profile and Schedule
	 public Profile getProfile();
	 public Schedule getSchedule(int ID);
	 public int[] getScheduleIDs();
	 public void updateName(String name);
	 public void updateMajor(int Major); // Major is index in String[] from getMajors
	 public void updateMinor(int Minor);
	 public String getName();
	 public int getMajor(); // int is index in String[] from getMajors
	 public int getMinor();
}


/*
loadSchedules needs to load the profile too.
newProfile does not work because newProfile in Profile.java doesn't do anything. ****
	profile shouldn't contain all possible majors, only selected major and minor
Profile doesn't keep track of which major/minor is selected
changed get majors and minors to get directly from das not through profile.

get major and minor needs to be -1 if no selected major or minor
getMinors returns several cmsc

*/